<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Hitlist
 *
 * @ORM\Table(name="hitlist")
 * @ORM\Entity
 */
class Hitlist
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="uuid", type="string", length=36, nullable=true)
     */
    protected $uuid;

    /**
     * @var float
     *
     * @ORM\Column(name="amount", type="decimal", nullable=false)
     */
    protected $amount;

    /**
     * @var string
     *
     * @ORM\Column(name="claim_number", type="string", length=36, nullable=false)
     */
    protected $claimNumber;

    /**
     * @var string
     *
     * @ORM\Column(name="reason", type="string", length=250, nullable=false)
     */
    protected $reason;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_on", type="datetime", nullable=false)
     */
    protected $createdOn;

    /**
     * @var boolean
     *
     * @ORM\Column(name="anonymous", type="boolean", nullable=false)
     */
    protected $anonymous;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="buyout_on", type="datetime", nullable=true)
     */
    protected $buyoutOn;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="completed_on", type="datetime", nullable=true)
     */
    protected $completedOn;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="claimed_on", type="datetime", nullable=true)
     */
    protected $claimedOn;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_modified", type="datetime", nullable=false)
     */
    protected $lastModified;

    /**
     * @var \Entity\User
     *
     * @ORM\ManyToOne(targetEntity="Entity\User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id_hitman", referencedColumnName="id")
     * })
     */
    protected $userHitman;

    /**
     * @var \Entity\User
     *
     * @ORM\ManyToOne(targetEntity="Entity\User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id_target", referencedColumnName="id")
     * })
     */
    protected $userTarget;

    /**
     * @var \Entity\User
     *
     * @ORM\ManyToOne(targetEntity="Entity\User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id_buyout", referencedColumnName="id")
     * })
     */
    protected $userBuyout;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set uuid
     *
     * @param string $uuid
     * @return Hitlist
     */
    public function setUuid($uuid)
    {
        $this->uuid = $uuid;
    
        return $this;
    }

    /**
     * Get uuid
     *
     * @return string 
     */
    public function getUuid()
    {
        return $this->uuid;
    }

    /**
     * Set amount
     *
     * @param float $amount
     * @return Hitlist
     */
    public function setAmount($amount)
    {
        $this->amount = $amount;
    
        return $this;
    }

    /**
     * Get amount
     *
     * @return float 
     */
    public function getAmount()
    {
        return $this->amount;
    }

    /**
     * Set claimNumber
     *
     * @param string $claimNumber
     * @return Hitlist
     */
    public function setClaimNumber($claimNumber)
    {
        $this->claimNumber = $claimNumber;
    
        return $this;
    }

    /**
     * Get claimNumber
     *
     * @return string 
     */
    public function getClaimNumber()
    {
        return $this->claimNumber;
    }

    /**
     * Set reason
     *
     * @param string $reason
     * @return Hitlist
     */
    public function setReason($reason)
    {
        $this->reason = $reason;
    
        return $this;
    }

    /**
     * Get reason
     *
     * @return string 
     */
    public function getReason()
    {
        return $this->reason;
    }

    /**
     * Set createdOn
     *
     * @param \DateTime $createdOn
     * @return Hitlist
     */
    public function setCreatedOn($createdOn)
    {
        $this->createdOn = $createdOn;
    
        return $this;
    }

    /**
     * Get createdOn
     *
     * @return \DateTime 
     */
    public function getCreatedOn()
    {
        return $this->createdOn;
    }

    /**
     * Set anonymous
     *
     * @param boolean $anonymous
     * @return Hitlist
     */
    public function setAnonymous($anonymous)
    {
        $this->anonymous = $anonymous;
    
        return $this;
    }

    /**
     * Get anonymous
     *
     * @return boolean 
     */
    public function getAnonymous()
    {
        return $this->anonymous;
    }

    /**
     * Set buyoutOn
     *
     * @param \DateTime $buyoutOn
     * @return Hitlist
     */
    public function setBuyoutOn($buyoutOn)
    {
        $this->buyoutOn = $buyoutOn;
    
        return $this;
    }

    /**
     * Get buyoutOn
     *
     * @return \DateTime 
     */
    public function getBuyoutOn()
    {
        return $this->buyoutOn;
    }

    /**
     * Set completedOn
     *
     * @param \DateTime $completedOn
     * @return Hitlist
     */
    public function setCompletedOn($completedOn)
    {
        $this->completedOn = $completedOn;
    
        return $this;
    }

    /**
     * Get completedOn
     *
     * @return \DateTime 
     */
    public function getCompletedOn()
    {
        return $this->completedOn;
    }

    /**
     * Set claimedOn
     *
     * @param \DateTime $claimedOn
     * @return Hitlist
     */
    public function setClaimedOn($claimedOn)
    {
        $this->claimedOn = $claimedOn;
    
        return $this;
    }

    /**
     * Get claimedOn
     *
     * @return \DateTime 
     */
    public function getClaimedOn()
    {
        return $this->claimedOn;
    }

    /**
     * Set lastModified
     *
     * @param \DateTime $lastModified
     * @return Hitlist
     */
    public function setLastModified($lastModified)
    {
        $this->lastModified = $lastModified;
    
        return $this;
    }

    /**
     * Get lastModified
     *
     * @return \DateTime 
     */
    public function getLastModified()
    {
        return $this->lastModified;
    }

    /**
     * Set userHitman
     *
     * @param \Entity\User $userHitman
     * @return Hitlist
     */
    public function setUserHitman(\Entity\User $userHitman = null)
    {
        $this->userHitman = $userHitman;
    
        return $this;
    }

    /**
     * Get userHitman
     *
     * @return \Entity\User 
     */
    public function getUserHitman()
    {
        return $this->userHitman;
    }

    /**
     * Set userTarget
     *
     * @param \Entity\User $userTarget
     * @return Hitlist
     */
    public function setUserTarget(\Entity\User $userTarget = null)
    {
        $this->userTarget = $userTarget;
    
        return $this;
    }

    /**
     * Get userTarget
     *
     * @return \Entity\User 
     */
    public function getUserTarget()
    {
        return $this->userTarget;
    }

    /**
     * Set userBuyout
     *
     * @param \Entity\User $userBuyout
     * @return Hitlist
     */
    public function setUserBuyout(\Entity\User $userBuyout = null)
    {
        $this->userBuyout = $userBuyout;
    
        return $this;
    }

    /**
     * Get userBuyout
     *
     * @return \Entity\User 
     */
    public function getUserBuyout()
    {
        return $this->userBuyout;
    }
}
